﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace NASA.BeAMartian.TagGraph.Surveying
{
    public class ImageTagsLand : ImageFeatures
    {
        private ImageTagsLand()
        {

        }

        public ImageTagsLand(string rover)
        {
            RoverName = rover;

            this.Add(new ImageFeature(
                    ImageTagTypes.Land,
                "Mars Features - Rocks & \"Soil\"",
                "Layering is a feature that may be observed on certain rocks and on the stratified walls of craters. It appears as a series of roughly parallel linear or slightly sinuous layers of material on a rock or exposed strata such as on a crater wall. There are many examples of layering in the Home Plate area of Gusev Crater, in numerous rocks found at Meridiani Planum, and in some crater walls of sufficient depth. Images must show part or all of at least one layered rock or crater wall to qualify.",
                img("layering1.jpg")));

            this.Add(new ImageFeature(
                    ImageTagTypes.Land,
                "Mars Features - Rock Layers",
                "Layering is a feature that may be observed on certain rocks and on the stratified walls of craters. It appears as a series of roughly parallel linear or slightly sinuous layers of material on a rock or exposed strata such as on a crater wall. There are many examples of layering in the Home Plate area of Gusev Crater, in numerous rocks found at Meridiani Planum, and in some crater walls of sufficient depth. Images must show part or all of at least one layered rock or crater wall to qualify.",
                img("layering1.jpg")));

            this.Add(new ImageFeature(
                    ImageTagTypes.Land,
                "Mars Features - Sand Ripples",
                "Sand ripples are long mounds of wind-blown granular material. Each mound has a crest that is straight or slightly sinuous, sloping sides and is longer than it is high. An image must show part or all of at least one ripple crest having a length of at least 20% of the width of the image to qualify.",
                img("sand-ripples1.jpg")));

            if (rover.ToLower().Contains("opportunity"))
                this.Add(new ImageFeature(
                    ImageTagTypes.Land,
                    "Mars Features - \"Blue Berries\"",
                    "These nearly spherical features are found on Meridiani Planum embedded in a rock or laying on soil. They are nearly spherical concretions consisting mainly of hematite and were formed in the presence of water. Most of them are individual spherules that are between 0.25 to 7 mm in size. Rarely 2 or 3 may be connected to each other. An image must show part or all of at least one blueberry of 8 pixels in size or more to qualify.",
                    img("blueberries1.jpg")));

            this.Add(new ImageFeature(
                    ImageTagTypes.Land,
                "Mars Features - Crater Rim",
                "For a given crater, images that contain some terrain that is located both 1) outside the crater and 2) inside the crater",
                img("crater-rim1.jpg")));

            this.Add(new ImageFeature(
                    ImageTagTypes.Land,
                "Mars Features - Rover Tracks",
                "Images of soil displaced by the rover wheels. Some images may only show tracks from one of the wheels or even multiple sets of tracks from the rover.",
                img("rover-tracks1.jpg")));

            this.Add(new ImageFeature(
                    ImageTagTypes.Land,
                "Mars Features - Ground Shadows",
                "Images that contain an area in shadow on the terrain (rock, soil, etc.) that is caused either by occlusion from the rover, or the terrain itself such as from a rock onto the adjacent soil, a rock shadowing itself, or a crater wall onto the adjacent terrain beneath it. To qualify, an image must contain a contiguous region of pixels in shadow that is at least 2% of the image area in size.",
                img("shadows1.jpg")));

            if (rover.ToLower().Contains("spirit"))
                this.Add(new ImageFeature(
                    ImageTagTypes.Land,
                    "Mars Features - Hills",
                    "These nearly spherical features are found on Meridiani Planum embedded in a rock or laying on soil. They are nearly spherical concretions consisting mainly of hematite and were formed in the presence of water. Most of them are individual spherules that are between 0.25 to 7 mm in size. Rarely 2 or 3 may be connected to each other. An image must show part or all of at least one blueberry of 8 pixels in size or more to qualify.",
                    img("blueberries1.jpg")));

            //this.Add(new ImageFeature(
            //        ImageTagTypes.Land,
            //    "Mars Features - Rock Abrasion",
            //    "Rock Abrasion is caused by the Rover's Rock Abrasion Tool, a powerful grinder able to create a hole 45 millimeters (about 2 inches) in diameter and 5 millimeters (0.2 inches) deep into a rock on the Martian surface.",
            //    img("rock-abrasion1.jpg")));

            base.ContainsLandTags = true;
        }
    }
}
